AGEmod Function

public function AGEmod(age, agemax) result(f)

compute the age modifier. It modulates the maximum potential growth during the different stages of the vegetation life cycle as trees in the early stages are not as vigorous as mature trees

Reference:

Peng, C., J. Liu, Q. Dang, M. J. Apps, and H. Jiang, 2002: TRIPLEX: A generic hybrid model for predicting forest growth and carbon and nitrogen dynamics. Ecol. Modell., 153 (1–2), 109–130.

Arguments

Type IntentOptional Attributes Name
real(kind=float), intent(in) :: age

actual age (years)

real(kind=float), intent(in) :: agemax

maximum age (years)

Return Value real(kind=float)


Source Code

FUNCTION  AGEmod &
!
(age, agemax) &
!
RESULT (f)

IMPLICIT NONE

!arguments with intent(in):
REAL (KIND = float), INTENT(IN) :: age !!actual age (years)
REAL (KIND = float), INTENT(IN) :: agemax !! maximum age (years)

!local declarations:
REAL (KIND = float) :: f
!---------------------------------------end of declarations--------------------

!compute modifier
!IF ( age < 0.2 * agemax ) THEN
!    f = 0.7 + 0.3 * age / ( 0.2 * agemax)
!ELSE
!    f = 1. + MAX (0.,  ((age - 0.2 * agemax) / (0.95 * agemax) ) ** 3. )
!END IF



f = ( 1. / (1. + ( ( age / agemax ) / 0.95 ) ) )**4.


!final boundary check
IF ( f > 1.) THEN
    f = 1.
END IF

IF ( f < 0.) THEN
    f = 0.
END IF

RETURN
END FUNCTION AGEmod